#!/bin/bash ######################################################## # PROGRAM-ID. setns. # WORKING MACHINE. ultra1 creator3D. # WORKING-OS. Solaris2.8. # AUTHOR. T.INoue. # SHELL-TYPE. bash. # WRITTEN-DATE. 2002.06.04. # REVISION. 0.1.3 # security. non. ######################################################## # echo aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa echo このプログラムは、nsswitch.confにdnsをセットするた echo めの簡易プログラムです。 echo echo nsswitch dns setting program. ver. 0.1.2 echo echo grep,sedを使います。 echo 既存のファイルは、nsswitch.orgとして同一デレクト echo リにコピーされます。 echo 使用に関する著作権は、現在設定しません。 echo 改良した場合については、当方へ連絡をお願いします。 echo いただいた改訂版は、謝辞を入れてupする事にします。 echo これに関する連絡先は、mmatta@yahoo.co.jpへお願い echo します。 echo aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa # 保存しているデーターがあるか確認する。 ( find /etc/nsswitch.org > /dev/null ) >& /dev/null flag=$? if [ $flag = 0 ]; then grep "hosts: " /etc/nsswitch.org echo 保管されているでデーターがあります。 echo 戻す場合は、restore =r echo 書き換える場合は、set=s echo 終了する場合は、exit =e を入れてください。 read CHECK # 戻すコマンドかどうかの確認をする。 if [ "x$CHECK" = "xr" ]; then echo 元に戻す処理を実行しました。 cp /etc/nsswitch.org /etc/nsswitch.conf exit fi if [ "x$CHECK" = "xR" ]; then echo 元に戻す処理を実行しました。 cp /etc/nsswitch.org /etc/nsswitch.conf exit fi # ----------routine end --------------------------- else # 処理するコマンドか確認する。 echo 書き換える場合は、set=s echo 終了する場合は、exit =e を入れてください。 read CHECK # ----------routine end --------------------------- fi # ----------routine end --------------------------- if [ "x$CHECK" != "xs" ]; then echo なにもせずにプログラムを終了しました。 exit fi # ----------routine end --------------------------- # move the orginal file with change to file name *.org cp /etc/nsswitch.conf /etc/nsswitch.org # dnsのほかに、notfoundを書き込みます。 sed 's/hosts: files dns/hosts: files dns [NOTFOUND=return]/g' /etc/nsswitch.dns > /etc/nsswitch.conf echo 下記のように書き込みました。 grep "hosts: " /etc/nsswitch.conf # ----------再起動 -------------------------------- # ----------routine end --------------------------- echo 変更した結果は、少し経つと有効になります。 echo ありがとうございました。 # ----------stop run ------------------------------